In [1]:
# These two lines are necessary only if gempy is not installed
import sys, os
sys.path.append("../")

# Importing gempy
import gempy as gp

# Embedding matplotlib figures into the notebooks

import matplotlib.pyplot as plt
%matplotlib inline

# Aux imports
import numpy as np

Data Import and Setting Dimensions


In [2]:
# Importing the data from csv files and settign extent and resolution
geo_data = gp.create_data([0,20000,0,40000,-4000,1000],[25, 25, 25],
                         path_f = "Pampalo_4c_Foliations.csv",
                         path_i = "Pampalo_4c_Points.csv")

In [3]:
gp.get_raw_data(geo_data, 'interfaces').head()


Out[3]:
X Y Z formation series order_series
0 12821.440 16498.970 -1000.0 Fault2 Default serie 1
1 15162.847 31254.625 1.0 Granite3 Default serie 1
2 15162.847 29606.060 1.0 Granite3 Default serie 1
3 15099.440 27386.838 1.0 Granite3 Default serie 1
4 10343.965 39751.074 1.0 Granite3 Default serie 1

In [4]:
gp.set_interfaces(geo_data,geo_data.interfaces[::6])
gp.set_foliations(geo_data,geo_data.foliations[::6])

In [11]:
gp.get_raw_data(geo_data, 'foliations');

In [6]:
geo_data.interfaces.reset_index?

Plot Input Data


In [7]:
gp.plot_data(geo_data, direction='x')


Out[7]:
<gempy.Visualization.PlotData at 0x7f544b053400>

In [26]:
gp.visualize(geo_data)

In [7]:
gp.get_series(geo_data)


Out[7]:
Default serie
0 Fault2
1 Granite3
2 Granite2
3 Granite

In [8]:
# gp.set_data_series(geo_data,
#                    {"Granite_Series": ("Granite1", "Granite2", "Granite3"),
#                     "Fault2_Series": "Fault2"},
#                    order_series = ["Granite_Series",
#                                    "Fault2_Series"])

In [9]:
#gp.select_series(geo_data, )

In [12]:
gp.set_data_series(geo_data,
                   {"Granite3_Series": 'Granite3',
                    "Granite2_Series": "Granite2",
                    "Granite1_Series": "Granite",
                    "Fault2_Series": ["Fault2"]},
                   order_series = ["Fault2_Series",
                                   "Granite1_Series",
                                   "Granite2_Series",
                                   "Granite3_Series",
                                   ]
                  )

In [16]:
geo_data_f = gp.select_series(geo_data, ['Fault2_Series'] )

In [13]:
geo_data.interfaces;

Computing the Model


In [17]:
interp_data = gp.InterpolatorInput(geo_data_f, u_grade=[0,],
                                   dtype='float32')


I am in the setting
float32
I am here
[2, 2]

In [19]:
interp_data.data.foliations


Out[19]:
index X Y Z azimuth dip polarity formation series order_series G_x G_y G_z isFault formation number
0 0 0.533039 0.45989 0.500094 270.000000 89.0 -1 Fault2 Fault2_Series 1 0.999848 1.836690e-16 -1.745241e-02 True 1
8 49 0.527395 0.569782 0.500094 63.437972 70.0 1 Fault2 Fault2_Series 1 0.840509 4.201990e-01 3.420201e-01 True 1
1 6 0.536044 0.538426 0.500094 270.009696 89.0 -1 Fault2 Fault2_Series 1 0.999848 -1.692013e-04 -1.745241e-02 True 1
2 12 0.522244 0.425199 0.500094 304.397249 70.0 1 Fault2 Fault2_Series 1 -0.775379 5.308581e-01 3.420201e-01 True 1
3 18 0.485987 0.696709 0.500094 92.120300 89.0 1 Fault2 Fault2_Series 1 0.999163 -3.699214e-02 1.745241e-02 True 1
4 24 0.500599 0.626471 0.500094 64.162037 70.0 -1 Fault2 Fault2_Series 1 -0.845752 -4.095439e-01 -3.420201e-01 True 1
5 31 0.534587 0.563127 0.500094 66.243745 70.0 -1 Fault2 Fault2_Series 1 -0.860070 -3.785520e-01 -3.420201e-01 True 1
6 37 0.485867 0.311962 0.500094 89.268245 89.0 1 Fault2 Fault2_Series 1 0.999766 1.276924e-02 1.745241e-02 True 1
18 107 0.497127 0.393728 0.487587 302.496959 70.0 1 Fault2 Fault2_Series 1 -0.792556 5.048544e-01 3.420201e-01 True 1
7 26 0.515239 0.60016 0.500094 56.810355 70.0 -1 Fault2 Fault2_Series 1 -0.786394 -5.143990e-01 -3.420201e-01 True 1
17 89 0.491528 0.363869 0.500094 272.099826 89.0 1 Fault2 Fault2_Series 1 -0.999176 3.663509e-02 1.745241e-02 True 1
10 86 0.490705 0.328175 0.500094 271.089305 89.0 1 Fault2 Fault2_Series 1 -0.999667 1.900792e-02 1.745241e-02 True 1
11 66 0.540718 0.530677 0.500094 267.655636 89.0 1 Fault2 Fault2_Series 1 -0.999011 -4.089922e-02 1.745241e-02 True 1
12 87 0.491146 0.341964 0.500094 272.553154 89.0 1 Fault2 Fault2_Series 1 -0.998855 4.453941e-02 1.745241e-02 True 1
13 78 0.521768 0.431913 0.500094 298.931210 70.0 -1 Fault2 Fault2_Series 1 0.822420 -4.545849e-01 -3.420201e-01 True 1
14 84 0.491298 0.29585 0.500094 266.648786 89.0 1 Fault2 Fault2_Series 1 -0.998138 -5.844747e-02 1.745241e-02 True 1
15 102 0.535182 0.509379 0.487587 272.632307 89.0 -1 Fault2 Fault2_Series 1 0.998793 -4.591927e-02 -1.745241e-02 True 1
9 55 0.53899 0.479307 0.500094 276.537683 89.0 1 Fault2 Fault2_Series 1 -0.993346 1.138393e-01 1.745241e-02 True 1
16 95 0.492067 0.699081 0.500094 272.119597 89.0 1 Fault2 Fault2_Series 1 -0.999164 3.697988e-02 1.745241e-02 True 1
19 113 0.533489 0.448473 0.487587 298.961023 70.0 1 Fault2 Fault2_Series 1 -0.822183 4.550128e-01 3.420201e-01 True 1
37 207 0.511311 0.418868 0.512613 310.073767 70.0 -1 Fault2 Fault2_Series 1 0.719068 -6.049491e-01 -3.420201e-01 True 1
21 126 0.524642 0.590191 0.487587 58.803769 70.0 -1 Fault2 Fault2_Series 1 -0.803812 -4.867333e-01 -3.420201e-01 True 1
22 132 0.4868 0.353608 0.487587 89.152507 89.0 1 Fault2 Fault2_Series 1 0.999738 1.478875e-02 1.745241e-02 True 1
23 138 0.487266 0.268647 0.487587 88.347068 89.0 1 Fault2 Fault2_Series 1 0.999432 2.884071e-02 1.745241e-02 True 1
24 144 0.516694 0.59056 0.487587 59.641354 70.0 1 Fault2 Fault2_Series 1 0.810841 4.749311e-01 3.420201e-01 True 1
25 150 0.537946 0.458164 0.487587 274.972617 89.0 1 Fault2 Fault2_Series 1 -0.996085 8.666643e-02 1.745241e-02 True 1
26 156 0.540244 0.502993 0.487587 269.683154 89.0 1 Fault2 Fault2_Series 1 -0.999832 -5.529135e-03 1.745241e-02 True 1
27 147 0.527418 0.570275 0.487587 63.440950 70.0 1 Fault2 Fault2_Series 1 0.840531 4.201553e-01 3.420201e-01 True 1
20 120 0.487388 0.647531 0.487587 90.287305 89.0 1 Fault2 Fault2_Series 1 0.999835 -5.013633e-03 1.745241e-02 True 1
28 168 0.540172 0.541076 0.487587 271.211019 89.0 1 Fault2 Fault2_Series 1 -0.999624 2.113148e-02 1.745241e-02 True 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
77 462 0.440226 0.349963 0.512613 89.784485 90.0 1 Granite Granite1_Series 2 0.999993 3.761437e-03 6.123234e-17 False 2
76 456 0.437024 0.501036 0.512613 90.000000 90.0 1 Granite Granite1_Series 2 1.000000 6.123234e-17 6.123234e-17 False 2
75 450 0.453737 0.621181 0.512613 156.801363 90.0 1 Granite Granite1_Series 2 0.393920 -9.191447e-01 6.123234e-17 False 2
74 444 0.49159 0.423865 0.487587 310.144534 70.0 1 Granite Granite1_Series 2 -0.718320 6.058367e-01 3.420201e-01 False 2
79 474 0.486106 0.400976 0.512613 303.482319 70.0 1 Granite Granite1_Series 2 -0.783756 5.184093e-01 3.420201e-01 False 2
72 432 0.440622 0.326172 0.487587 88.675520 90.0 1 Granite Granite1_Series 2 0.999733 2.311448e-02 6.123234e-17 False 2
71 426 0.437024 0.467333 0.487587 90.000000 90.0 1 Granite Granite1_Series 2 1.000000 6.123234e-17 6.123234e-17 False 2
70 420 0.445014 0.612854 0.487587 118.072331 90.0 1 Granite Granite1_Series 2 0.882354 -4.705858e-01 6.123234e-17 False 2
68 408 0.474354 0.262759 0.500094 269.741303 90.0 1 Granite Granite1_Series 2 -0.999990 -4.515099e-03 6.123234e-17 False 2
69 414 0.506821 0.438159 0.500094 299.675241 70.0 1 Granite Granite1_Series 2 -0.816448 4.652261e-01 3.420201e-01 False 2
67 402 0.441782 0.294451 0.500094 87.137651 90.0 1 Granite Granite1_Series 2 0.998752 4.993664e-02 6.123234e-17 False 2
66 396 0.437847 0.442748 0.500094 85.058173 90.0 1 Granite Granite1_Series 2 0.996283 8.614425e-02 6.123234e-17 False 2
65 390 0.440256 0.596201 0.500094 98.426799 90.0 1 Granite Granite1_Series 2 0.989204 -1.465457e-01 6.123234e-17 False 2
64 384 0.502978 0.602504 0.500094 64.538754 70.0 -1 Granite Granite1_Series 2 -0.848426 -4.039743e-01 -3.420201e-01 False 2
73 438 0.522136 0.532449 0.487587 268.677525 90.0 1 Granite Granite1_Series 2 -0.999734 -2.307949e-02 6.123234e-17 False 2
57 340 0.559548 0.373358 0.500094 266.185685 90.0 1 Granite2 Granite2_Series 3 -0.997785 -6.652319e-02 6.123234e-17 False 3
58 347 0.498763 0.341571 0.500094 90.988985 90.0 1 Granite2 Granite2_Series 3 0.999851 -1.726019e-02 6.123234e-17 False 3
62 372 0.557962 0.330931 0.512613 98.880671 90.0 -1 Granite2 Granite2_Series 3 -0.988012 1.543771e-01 -6.123234e-17 False 3
61 366 0.507927 0.404594 0.487587 303.515522 70.0 -1 Granite2 Granite2_Series 3 0.783456 -5.188634e-01 -3.420201e-01 False 3
60 360 0.547909 0.262363 0.487587 278.008695 90.0 1 Granite2 Granite2_Series 3 -0.990247 1.393234e-01 6.123234e-17 False 3
63 378 0.499035 0.317571 0.512613 88.701281 90.0 1 Granite2 Granite2_Series 3 0.999743 2.266498e-02 6.123234e-17 False 3
59 353 0.531836 0.438159 0.500094 299.675241 70.0 -1 Granite2 Granite2_Series 3 0.816448 -4.652261e-01 -3.420201e-01 False 3
49 295 0.503421 0.681052 0.500094 270.000603 89.0 -1 Granite3 Granite3_Series 4 0.999848 -1.052273e-05 -1.745241e-02 False 4
50 300 0.562323 0.630697 0.500094 270.000000 90.0 1 Granite3 Granite3_Series 4 -1.000000 -1.836970e-16 6.123234e-17 False 4
51 306 0.519728 0.644781 0.500094 52.722443 70.0 1 Granite3 Granite3_Series 4 0.747724 5.691500e-01 3.420201e-01 False 4
52 311 0.50241 0.70007 0.487587 266.531456 89.0 -1 Granite3 Granite3_Series 4 0.998016 6.049133e-02 -1.745241e-02 False 4
53 318 0.563116 0.699691 0.487587 273.813995 90.0 1 Granite3 Granite3_Series 4 -0.997785 6.651762e-02 6.123234e-17 False 4
54 324 0.503639 0.668763 0.512613 270.000000 89.0 -1 Granite3 Granite3_Series 4 0.999848 1.836690e-16 -1.745241e-02 False 4
55 329 0.561927 0.60651 0.512613 271.636594 90.0 1 Granite3 Granite3_Series 4 -0.999592 2.856007e-02 6.123234e-17 False 4
56 335 0.562054 0.738585 0.512613 268.510255 90.0 1 Granite3 Granite3_Series 4 -0.999662 -2.599803e-02 6.123234e-17 False 4

80 rows × 15 columns


In [14]:
interp_data.data.n_faults


Out[14]:
1

In [15]:
interp_data.interpolator.tg.len_series_f.get_value()


Out[15]:
array([  0, 294])

In [18]:
sol = gp.compute_model(interp_data)


[0]

In [22]:
sol.shape, 25*25*25


Out[22]:
((15733,), 15625)

In [17]:
gp.plot_section(geo_data, sol[0,0,:], 11)
plt.show()
gp.plot_section(geo_data, sol[1,0,:], 11)
plt.show()


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-17-8404286f596b> in <module>()
----> 1 gp.plot_section(geo_data, sol[0,0,:], 11)
      2 plt.show()
      3 gp.plot_section(geo_data, sol[1,0,:], 11)
      4 plt.show()

IndexError: too many indices for array

In [25]:
gp.plot_section(geo_data, sol[:15625], 11, plot_data=False, direction='x')
plt.show()



In [25]:
sol


Out[25]:
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,
        0.,  0.,  1.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,
        0.,  1.,  1.,  1.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.,  0.,
        1.,  0.,  1.,  0.,  0.,  0.,  0.,  1.,  1.,  0.,  0.,  1.,  0.,
        0.,  0.,  0.,  0.,  1.,  1.,  0.,  0.,  1.,  1.,  1.,  1.,  1.,
        0.,  0.,  1.,  1.,  1.,  1.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  0.,  1.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  1.,  1.,  0.,
        0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.,  1.,  1.,  1.,  0.,  1.,
        1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.,
        0.,  0.,  0.,  1.,  1.,  1.,  0.,  1.,  1.,  0.,  1.,  1.,  1.,
        0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.,  1.,  1.,  0.,  1.,
        0.,  1.,  0.,  1.,  1.,  0.,  1.,  1.,  1.,  0.,  1.,  0.,  0.,
        1.,  0.,  1.,  1.,  1.,  0.,  1.,  1.,  0.,  1.,  1.,  1.,  1.,
        1.,  0.,  1.,  1.,  1.,  1.,  0.,  0.,  1.,  1.,  0.,  1.,  1.,
        0.,  1.,  1.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  0.,
        1.,  0.,  1.,  1.,  1.,  0.,  1.,  1.,  1.,  0.,  1.,  1.,  1.,
        0.,  1.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
        1.,  1.,  0.,  0.,  0.,  0.,  1.,  1.,  0.,  0.,  0.,  1.,  1.,
        0.,  0.,  1.,  1.,  1.,  0.,  1.,  1.,  0.,  1.,  0.,  0.,  1.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.,  0.,  0.,
        0.,  0.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.,  0.,  1.,  0.,  0.,  1.,
        0.,  1.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,
        0.,  0.,  1.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,
        1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.,  0.,
        1.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  1.,
        0.,  1.,  0.,  1.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  1.,  1.,  1.], dtype=float32)

In [24]:
50*50*50


Out[24]:
125000

In [ ]:
5*55